package cc.rengu.igas.bsps.common.enums;

/**
 * 绑定状态枚举
 * Created by 王成 on 2018/6/14.
 */
public enum BindStatusEnum {
    INIT("--", "初始状态"),
    BIND("00", "绑定"),
    UNBIND("01", "解绑"),
    ;
    private String status;
    private String bindDesc;

    BindStatusEnum(String status, String bindDesc) {
        this.status = status;
        this.bindDesc = bindDesc;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getBindDesc() {
        return bindDesc;
    }

    public void setBindDesc(String bindDesc) {
        this.bindDesc = bindDesc;
    }

    /**
     * 根据商户服务上送的绑定状态转换成内部的绑定状态
     *
     * @param bindStatus 请求方接口的绑定状态
     * @return 内部绑定状态
     */
    public static String changeBspBindStatus(String bindStatus) {
        switch (bindStatus) {
            case "0":
                return BIND.getStatus();
            case "1":
                return UNBIND.getStatus();
            case "00":
                return "0";
            case "01":
                return "1";
            default:
                return null;
        }
    }

    /**
     * 根据枚举值获取枚举描述
     *
     * @param bindStatus 枚举值
     * @return 枚举描述
     */
    public static String getBindStatusDesc(String bindStatus) {
        for (BindStatusEnum bindStatusEnum : BindStatusEnum.values()) {
            if (bindStatusEnum.getStatus().equals(bindStatus)) {
                return bindStatusEnum.getBindDesc();
            }
        }
        return null;
    }
}
